<?php
class FaturaController extends Zend_Controller_Action
{
	public function init()
	{
	
	}
	
	public function indexAction()
	{
		$fatura = new Fatura();
    	$faturas = $fatura->fetchAll(); 

    	//criando a paginaçao
		$paginator = Zend_Paginator::factory($faturas);
		//pagina atual. Se nao vier nenhuma pagina, mostra a primeira
		$currentPage = $this->_getParam('page', 1);
		$paginator->setCurrentPageNumber($currentPage)
		          ->setItemCountPerPage(10);
		
		//manda para a view
		$this->view->paginator = $paginator;	
	}
	
	public function createAction()
	{
		$formFatura = new Foxsis_Form_Fatura();
		$this->view->formFatura = $formFatura;	
	}
	
	public function editAction()
	{
		$fatura = new Fatura();
		$data = $fatura->find($this->_request->get('id_fatura'))->current()->toArray();
		
	    $objForm = new Foxsis_Form_Fatura();
	    $objForm->populate($data);
	    $this->view->formFatura= $objForm;
		$this->renderScript("fatura/create.phtml");		
	}
	
	public function saveAction()
	{
		try 
		{
			$formFatura = new Foxsis_Form_Fatura();
			$formData = $this->_request->getPost();
			
			if($this->_request->isPost())
		    {
		    	if($formFatura->isValid($formData))
		    	{
		    		$fatura = new Fatura();
		    		
		    		if(!empty($formData['id_fatura']))
		    		{
		    			$fatura->find($formData['id_fatura'])->current();
		    			$fatura->update($formData, "id_fatura = {$formData['id_fatura']}");
		    		}
		    		else
		    		{
		    			$fatura->insert($formData);
		    		}
		    		
		    		$this->_helper->FlashMessenger('Dados salvos com sucesso!');
		            return $this->_helper->redirector->goToRoute( array('controller' => 'fatura'), null, true);
		    	}
		    	else
		    	{
		    		$this->_helper->FlashMessenger('Erro ao salvar os dados!');
		            $formFatura->populate($formData);
		            
		            $this->_forward('create',null,null,$formData);
		    	}
		    }	
		}	
		catch (Exception $e)
		{
			$this->_helper->FlashMessenger('Erro ao salvar! ' . $e->getMessage());
	        return $this->_helper->redirector->goToRoute( array('controller' => 'fatura'), null, true);	
		}
	}
}